import request from '@/config/axios'

// 应急物资管理->物资流转记录 VO
export interface ResMaterialFlowVO {
  id: number // 流转ID
  trackingNo: string // 流转单号（规则：FLOW+年月日+6位序列）
  materialId: number // 物资ID
  batchNo: string // 批次号
  inventoryId: number // 关联库存ID
  flowType: number // 流转类型（1-入库 2-出库 3-调拨 4-盘点 5-报损 6-退货）
  relatedOrderNo: string // 关联单据号（入库/出库单号）
  quantity: number // 流转数量（入库为正，出库为负）
  fromLocationId: number // 源库位ID
  toWarehouseId: number // 目标库位ID
  operatorId: number // 操作人ID
  operationTime: Date // 操作时间
  status: boolean // 状态（1-正常 2-异常 3-已冲正）
  exceptionReason: string // 异常原因
  rfidTag: string // RFID标签号（可选）
  remark: string // 备注
}

// 应急物资管理->物资流转记录 API
export const ResMaterialFlowApi = {
  // 查询应急物资管理->物资流转记录分页
  getResMaterialFlowPage: async (params: any) => {
    return await request.get({ url: `/wms/res-material-flow/page`, params })
  },

  // 查询应急物资管理->物资流转记录详情
  getResMaterialFlow: async (id: number) => {
    return await request.get({ url: `/wms/res-material-flow/get?id=${id}` })
  },

  // 新增应急物资管理->物资流转记录
  createResMaterialFlow: async (data: ResMaterialFlowVO) => {
    return await request.post({ url: `/wms/res-material-flow/create`, data })
  },

  // 修改应急物资管理->物资流转记录
  updateResMaterialFlow: async (data: ResMaterialFlowVO) => {
    return await request.put({ url: `/wms/res-material-flow/update`, data })
  },

  // 删除应急物资管理->物资流转记录
  deleteResMaterialFlow: async (id: number) => {
    return await request.delete({ url: `/wms/res-material-flow/delete?id=${id}` })
  },

  // 导出应急物资管理->物资流转记录 Excel
  exportResMaterialFlow: async (params) => {
    return await request.download({ url: `/wms/res-material-flow/export-excel`, params })
  },
}
